function unique(arr) {
  for (var i = 0; i < arr.length; i++) {
    for (var j = i + 1; j < arr.length; j++) {
      if (arr[i] == arr[j]) {
        //第一个等同于第二个，splice方法删除第二个
        arr.splice(j, 1)
        j--
      }
    }
  }
  return arr
}
// 秒啊，用indexOf(item, 0)来判断索引值是不是第一次出现，如果不是的话直接filter了
function unique(arr) {
  return arr.filter(function (item, index, arr) {
    //当前元素，在原始数组中的第一个索引==当前索引值，否则返回当前元素
    return arr.indexOf(item, 0) === index
  })
}
var arr = [
  1,
  1,
  'true',
  'true',
  true,
  true,
  15,
  15,
  false,
  false,
  undefined,
  undefined,
  null,
  null,
  NaN,
  NaN,
  'NaN',
  0,
  0,
  'a',
  'a',
  {},
  {},
]
console.log(unique(arr))
// [...new Set(arr)]

// 字符串去重
// 把字符串变成数组 .split .join就可以了
// [].filter.call(str,function(s,i,o){return o.indexOf(s)==i;}).join('');
str = 'abcdabecd'
console.log(new Set(str.split('')))
console.log([...new Set(str.split(''))].join(''))
